package srvctx

import (
	"context"

	"gitee.com/mkwchecking/sr-core/domain/dao/scope"
	"gitee.com/mkwchecking/sr-core/log"
	"gitee.com/mkwchecking/sr-core/net/http/session"
)

type IContext interface {
	context.Context

	TraceId() string
	Logger() log.Logger

	Session() *session.SessionManager
	SessionStore() (session.Storage, error)
	GetSessionId() (string, error)
	GetSessionInfo() (*session.Info, error)

	// 数据层约束
	DaoScope() scope.IScope
}
